﻿#include<iostream>
#include<vector>
#include<stdio.h>
using namespace std;

//﻿int main(int argc, char* argv[])
//{
//	string a = "hello world";
//	string b = a;
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//
//	else cout << "false" << endl;
//	string c = b;
//	c = "";
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//	else cout << "false" << endl;
//	a = "";
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//	else cout << "false" << endl;
//	return 0;
//}

//#include <iostream>
//#include<string>
//using namespace std;
//
//int main()
//{
//    string str;
//    getline(cin,str);
//    /*int count = 0;
//    int ret = 0;
//    while (str[count] != '\0')
//    {
//        if (str[count++] == ' ')
//            ret = 0;
//        ret++;
//
//    }
//    printf("%d\n", ret);*/
//    return 0;
//}



//#include <iostream>
//#include<string>
//using namespace std;
//
//class Solution
//{
//public:
//    bool isPalindrome(string s)
//    {
//        getline(cin, s);
//        for (int i = 0; i < s.size(); i++)
//        {
//            s[i] = tolower(s[i]);
//        }
//        string::iterator it = s.begin();
//        for (int i = 0; i < s.size(); )
//        {
//            if ((s[i] >= 48 && s[i] <= 57) || (s[i] >= 97 && s[i] <= 122) )
//            {
//				 i++
//               continue ;
//            }
//            s.erase(i, 1);
//        }
//        for (int i = 0; i < s.size(); i++)
//        {
//            if ((s[i] >= 48 && s[i] <= 57) || (s[i] >= 97 && s[i] <= 122) )
//            {
//                continue;
//            }
//            s.erase(i, 1);
//        }
//        for (int i = 0; i < s.size(); i++)
//        {
//            if ((s[i] >= 48 && s[i] <= 57) || (s[i] >= 97 && s[i] <= 122) || s[i] == 34)
//            {
//                continue;
//            }
//            s.erase(i, 1);
//        }
//        int left = 0;
//        int right = s.size() - 1;
//        cout << s << endl;
//        while (left < right)
//        {
//            if (s[left++] != s[right--] )
//                return false;
//        }
//        return true;
//    }
//};
//
//int main()
//{
//    string str;
//    Solution s;
//   
//    cout<<s.isPalindrome(str);
//    return 0;
//}




//#include <iostream>
//#include<string>
//using namespace std;
//
//class Solution {
//public:
//    string reverseWords(string s)
//    {
//        string::iterator left = s.begin();
//        string::iterator right = s.begin();
//
//        while (left <= right)
//        {
//            if (*left == ' ' || *left == '\0')
//            {
//                reverse(right, left);
//                right = left;
//                right++;
//            }
//            left++;
//
//        }
//        return s;
//    }
//};
//
//int main()
//{
//    string str;
//    getline(cin, str);
//    Solution s;
//
//    cout << s.reverseWords(str);
//    return 0;
//}



//#include <iostream>
//#include<string>
//using namespace std;
//
//class Solution {
//public:
//    string reverseStr(string s, int k)
//    {
//        int flag = 1;
//        while (flag*k <= s.size() )
//        {
//            //flag为奇数，进行反转；为偶数，则跳过
//            if (flag % 2 == 1)
//            {
//                reverse(s.begin() + (flag - 1) * k, s.begin() + k * flag);
//            }
//            flag++;
//        }
//        if (s.size() < k)
//            reverse(s.begin(), s.end());
//        if (s.end() - (s.begin() + k * (flag)) >= k)
//        {
//            flag++;
//            //cout<<"1"<<endl;
//            reverse(s.begin() + (flag - 1) * k, s.begin() + k * flag);
//        }
//        else
//        {
//            //cout<<"0"<<endl;
//
//            reverse(s.begin() + (k) * (flag - 1), s.end());
//        }
//        return s;
//    }
//};
//
//
//int main()
//{
//    string str;
//    getline(cin, str);
//    Solution s;
//
//    cout << s.reverseStr(str,4);
//    return 0;
//}

















#include <iostream>
#include<string>
#include<math.h>
using namespace std;

class Solution {
public:
    string multiply(string num1, string num2)
    {
        //将两个字符串转化成数字
        string num3 = num1, num4 = num2;
        reverse(num3.begin(), num3.end());
        reverse(num4.begin(), num4.end());
        int ret = 0;
        long long sum1 = 0, sum2 = 0;
        for (int i = 0; i < num3.size(); i++)
        {
            ret = (num3[i]-'0') * pow(10, i);
            sum1 += ret;
        }
        for (int i = 0; i < num4.size(); i++)
        {
            ret = (num4[i] - '0') * pow(10, i);
            sum2 += ret;
        }
        long long sum3 = sum2 * sum1;
        int i = 0;
        int count = 0;
        char ch[100] = { '\0' };
        long long sum4 = sum3;
        do
        {
            i = sum4 % 10;
            sum4 /= 10;
            ch[count++] = (i+'0');
        } while (sum4);

        string s3;
        s3 = ch;
        reverse(s3.begin(), s3.end());
        return s3;
    }

};

int main()
{
    string str1,str2;
    getline(cin, str1);
    getline(cin, str2);

    Solution s;

    cout << s.multiply(str1,str2);
    return 0;
}